COM AT+CKPD, AT+CMEC: Keypad and Mobile Equipment Control
COM
COM Version History:
COM Version 1.1   27.08.2004   R. Weiden	adapted to ATT2.0, R65 platform
COM Version 1.2   22.11.2004   T.Kleinmann	added key tests. Added Siemens specific key
COM Version 1.3	  24.11.2004   T.Kleinmann      added test for new command AT+CKPD=200
COM Version 1.4   21.02.2005   T. Kleinmann	Implemented new keys for X75 (left Side keys X1B / X1C)
COM Version 1.5   22.06.2005   T. Kleinmann	Added ckpd for siemens ascii characters
COM Version 1.6   19.07.2005   T. Kleinmann     Added tests for each single key, Added test for ^SKPD
COM Version 1.7	  24-05-2006   C. Grzegorczyk   Repair some mistakes
# ---------------------------------------------------------------------------------

from attglobals import *


COM AT+CMEC: Mobile Equipment Control
AT+CMEC=?
WAIT FOR OK
AT+CMEC=2
WAIT FOR OK
AT+CMEC?
WAIT FOR +CMEC: 2,0,0

# ---------------------------------------------------------------------------------
COM AT+CKPD

L_Keys=[['#','Hash'],['*','asterisc'],['0','number 0'],['1','number 1'],['2','number 2'],['3','number 3'],['4','number 4'],['5','number 5'],['6','number 6'],['7','number 7'],['8','number 8'],['9','number 9']]

for key,desc in L_Keys:
	ATCMD(1,'AT+CKPD=',key)
	USERTEST('Was key ',desc,' pressed?')

Message Please clear the display. Have to be in idle mode

COM Testing another keys

#ATCMD(1,'AT+CKPD=:')
#USERTEST('Was key : pressed?')
#ATCMD(1,'AT+CKPD=e')
#WAIT 2000
ATCMD(1,'AT+CKPD=<')
USERTEST('Was key < "left arrow" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=>')
USERTEST('Was key > "right arrow" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=56')
USERTEST('Was key 56 pressed?')
ATCMD(1,'AT+CKPD=C')
USERTEST('Was key C "clear screen" pressed?')
ATCMD(1,'AT+CKPD=78')
USERTEST('Was key 78 pressed?')
ATCMD(1,'AT+CKPD=c')
USERTEST('Was key c "clear screen" pressed?')
ATCMD(1,'AT+CKPD=E')
USERTEST('Was key E "connection end" pressed?')
ATCMD(1,'AT+CKPD=e')
USERTEST('Was key e "connection end" pressed?')
ATCMD(1,'AT+CKPD=F')
USERTEST('Was key F "navi center" pressed?')
ATCMD(1,'AT+CKPD=f')
USERTEST('Was key f "navi center" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=S')
USERTEST('Was key S "connection start" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=s')
USERTEST('Was key s "connection start" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=V')
USERTEST('Was key V "down arrow" pressed?')
ATCMD(1,'AT+CKPD=v')
USERTEST('Was key v "down arrow" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=W')
USERTEST('Was key W "pause character" pressed?')
ATCMD(1,'AT+CKPD=w')
USERTEST('Was key w "pause character" pressed?')
ATCMD(1,'AT+CKPD=56')
USERTEST('Was key 56 pressed?')
ATCMD(1,'AT+CKPD=Y')
USERTEST('Was key Y "delete last character" pressed?')
ATCMD(1,'AT+CKPD=y')
USERTEST('Was key y "delete last character" pressed?')
WAIT 2000
ATCMD(1,'AT+CKPD=[')
USERTEST('Was key [ "soft key 1" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=]')
USERTEST('Was key ] "soft key 2" pressed?')
ATCMD(1,'AT+CKPD=e')
WAIT 2000
ATCMD(1,'AT+CKPD=^')
USERTEST('Was key ^ "up arrow" pressed?')
ATCMD(1,'AT+CKPD=e')

Message Benq specific keys
COM Benq specific commands
ATCMD(1,'AT+CKPD=+')
WAIT 1500
ATCMD(1,'AT+CKPD=-')
WAIT 1500
ATCMD(1,'AT+CKPD=M')
WAIT 1500
ATCMD(1,'AT+CKPD=:o')
WAIT 1500
ATCMD(1,'AT+CKPD=:O')
WAIT 1500
ATCMD(1,'AT+CKPD=:x313131')
WAIT 1500

Com Lock/unlock keypad test
ATCMD(1,'AT+CKPD=E')
WAIT 2000
ATCMD(1,'AT+CKPD=#,30')
USERTEST('Is key lock switchen on now? (Long press hash key)')
WAIT 500
ATCMD(1,'AT+CKPD=#,30')
USERTEST('Is key unlock switchen on now? (Long press hash key)')
WAIT 500

# ---------------------------------------------------------------------------------
Message Command AT^SKPD
COM AT^SKPD
AT+CMEC=2

L_Keys=[['35','Hash'],['37','Percent'],['42','asterisc'],['48','number 0'],['49','number 1'],['50','number 2'],['51','number 3'],['52','number 4'],['53','number 5'],['54','number 6'],['55','number 7'],['56','number 8'],['57','number 9']]

for key,desc in L_Keys:
	ATCMD(1,'AT^SKPD=',key)
	USERTEST('Was key ',desc,' pressed?')

Message Please clear the display. Have to be in idle mode

ATCMD(1,'AT^SKPD=61')
USERTEST('Was key < "left arrow" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=62')
USERTEST('Was key > "right arrow" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=53')
USERTEST('Was key 5 pressed?')
ATCMD(1,'AT^SKPD=10')
USERTEST('Was key C "clear screen" pressed?')
ATCMD(1,'AT^SKPD=12')
USERTEST('Was key E "connection end" pressed?')
ATCMD(1,'AT^SKPD=12')
ATCMD(1,'AT^SKPD=26')
USERTEST('Was key F "navi center" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=11')
USERTEST('Was key S "connection start" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=14')
USERTEST('Was key V "down arrow" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
#the key W/w is not used
######ATCMD(1,'AT+CKPD=W')
######USERTEST('Was key W "pause character" pressed?')

ATCMD(1,'AT^SKPD=53')
USERTEST('Was key number 5 pressed?')
ATCMD(1,'AT^SKPD=9')
USERTEST('Was key Y "delete last character" pressed?')
WAIT 2000
ATCMD(1,'AT^SKPD=1')
USERTEST('Was key [ "soft key 1" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=4')
USERTEST('Was key ] "soft key 2" pressed?')
ATCMD(1,'AT^SKPD=12')
WAIT 2000
ATCMD(1,'AT^SKPD=59')
USERTEST('Was key ^ "up arrow" pressed?')


Com Lock/unlock keypad test
ATCMD(1,'AT+CKPD=E')
Message Please clear the screen
WAIT 2000
ATCMD(1,'AT+CKPD=#,30')
USERTEST('Is key lock switchen on now? (Long press hash key)')
WAIT 500
ATCMD(1,'AT+CKPD=#,30')
USERTEST('Is key unlock switchen on now? (Long press hash key)')
WAIT 500

# ---------------------------------------------------------------------------------
COM AT+CKPD: Keypad Control

AT+CKPD=?
WAITFOR OK
COM MAKE SURE MOBILE IS IN IDLE FIRST
Message MAKE SURE MOBILE IS IN IDLE FIRST
AT+CKPD="EEEEEE",10,10
WAITFOR OK
WAIT 2000

COM SWITCH TO PHONE BOOK NEW ENTRY
Message SWITCH TO PHONE BOOK NEW ENTRY
AT+CKPD="F"
WAITFOR OK

WAIT 500

AT+CKPD="<^FVF",3,3
WAITFOR OK

if USERTEST ('PLEASE VERIFY: MOBILE IN ADRESSBOOK->NEW ENTRY->LAST NAME?') != 1:
	MESSAGE ('Please navigate to ADRESSBOOK->NEW ENTRY->LAST NAME manually. Press OK to continue test.')

#-----------added Switching to Abc input -- 23.09.04 Kleinmann
COM Disable T9 input and activate Abc Input
AT+CKPD="###"
WAITFOR OK
WAIT 2000	

COM Write silly message Test-Name
AT+CKPD="83377778000000000#662633",3,3
WAITFOR OK
USERTEST ('Please check if last name reads "Test-Name"')

COM DELETE LAST 5 LETTERS
AT+CKPD="]]]]]"
WAITFOR OK
USERTEST ('Please check if last name reads "Test"')

COM BACK TO IDLE
AT+CKPD="EEEEEE"
WAITFOR OK
WAIT 2000

COM WRITE "+#*0123456789"
AT+CKPD=0,7
WAITFOR OK
USERTEST ('Please check if mobile is in idle and display shows "+"')
AT+CKPD="#*0123456789"
WAITFOR OK
USERTEST ('Please check if display shows "+#*0123456789"')
COM CLEAR DISPLAY
AT+CKPD="C"
WAITFOR OK
USERTEST ('Please check if mobile is in idle mode now.')

#----------added keys that were missing before -- 22.11.04 Kleinmann

COM TEST hook off and hook on


AT+CKPD="E"
WAIT FOR OK
AT+CKPD="E"
WAIT FOR OK

WAIT 1500

AT+CKPD="S"
WAIT FOR OK

USERTEST ('Is the calles dialled menu displayed?')

WAIT 500
AT+CKPD="E"
WAIT FOR OK
WAIT 1500

AT+CKPD="11111"
WAIT FOR OK

MESSAGE ('Please check now that the cursor is positioning to the first digit!')

AT+CKPD="<<<<<"
WAIT FOR OK

USERTEST ('Is the cursor positioned in front of the first digit now?')


MESSAGE ('Please check now that the cursor is positioning to the last digit!')

AT+CKPD=">>>>>"
WAIT FOR OK

USERTEST ('Is the cursor positioned at the end of the last digit now?')

AT+CKPD="E"
WAIT FOR OK
WAIT 1500

COM OHK test

WAIT 5000


ATCMD (1,'AT+CKPD=:O')
WAIT FOR OK

WAIT 5000

AT+CKPD="E"
WAIT FOR OK

WAIT 5000

ATCMD (1,'AT+CKPD=":O"')
WAIT FOR OK

WAIT 5000

AT+CKPD="E"
WAIT FOR OK

WAIT 5000

ATCMD (1,'AT+CKPD=:o')
WAIT FOR OK

WAIT 5000

AT+CKPD="E"
WAIT FOR OK

WAIT 5000

ATCMD (1,'AT+CKPD=":o"')
WAIT FOR OK

WAIT 5000


AT+CKPD="E"
WAIT FOR OK

WAIT 5000

COM LSK_RSK test

MESSAGE('LSK will be pressed now')

AT+CKPD ="["
WAIT FOR OK

USERTEST('Is the application from LSK started?')

AT+CKPD="E"
WAIT FOR OK
WAIT 1500

MESSAGE('RSK will be pressed now')

AT+CKPD ="]"
WAIT FOR OK

USERTEST('Is the application from RSK started?')

AT+CKPD="E"
WAIT FOR OK
WAIT 1500

AT
WAIT FOR OK


COM Check left Side keys (X1B/X1C)

AT+CKPD = ":X1B"
WAIT FOR OK
AT+CKPD="E"
WAIT 1500

AT+CKPD = ":X1C"
WAIT FOR OK
AT+CKPD="E"
WAIT 1500

# added 2005-06-23

COM Check all other keys

ATCMD(1,'AT+CKPD=":X414243"')
WAIT FOR OK
USERTEST('Please check that pressing the keys has any effect on display.')

COM -----------------------------------------------
COM Test for new command AT+CKPD=200
COM -->BT headset button press
Message Command to test Bluetooth
#ToDo(S3): Check what happens if BT is switched Off
AT+CKPD=200
WAIT FOR OK